package tsb.dom;

/**
 *
 * @author Santiago
 */
public class DomXML {
    private Encabezado  encabezado;
    private Documento   documento;
    private Pila        pila;

    public DomXML(){
        this.encabezado = new Encabezado("xml");
        this.documento  = new Documento("xml_doc");
        this.pila = new Pila();
    }
    
    public DomXML(Encabezado encabezado, Documento documento) {
        this.encabezado = encabezado;
        this.documento = documento;
    }

    public void setEncabezado(Encabezado encabezado) {
        this.encabezado = encabezado;
    }

    public Encabezado getEncabezado() {
        return encabezado;
    }

    public void agregarElementoAlDocumento(Componente elemento){
        Componente padre = pila.getActual();
        documento.agregar(padre, elemento);
        pila.escribirEnPila(elemento);
    }

    public void setContenido(String contenido){
        Elemento e = (Elemento)pila.getActual();
        ValorAtributo valor = new ValorAtributo(0, contenido);
        e.setValor(valor);
    }

    public void setFinDeElemento(){
        pila.delUltimoIngresado();
    }

    @Override
    public String toString() {
        String aux;
        aux  = encabezado.toString() + "\n";
        aux += documento.toString();
        return (aux);
    }
}